package com.zj.inoutput.service;

import com.github.pagehelper.PageInfo;
import com.zj.inoutput.dal.dataobj.Export;
import com.zj.inoutput.model.request.ExportGetListParam;
import com.zj.inoutput.model.request.ExportParam;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * @author DuanYu <a>Email:z-houjie@qq.com</a>
 * @date 2022-02-08 11:31
 */
public interface ExportService {

    /**
     * 查询数据导出数据
     *
     * @param param 查询参数
     */
    void exportExcel(ExportParam param);

    /**
     * 获取下载列表
     *
     * @param param 查询参数
     * @return 分页列表
     */
    PageInfo<Export> findExportList(ExportGetListParam param);

    /**
     * 下载导出文件
     *
     * @param id       导出记录ID
     * @param response 响应体
     * @throws IOException IO异常
     */
    void download(Integer id, HttpServletResponse response) throws IOException;

    /**
     * 文件上传
     * @param file 文件
     */
    void upload(MultipartFile file);
}
